package databases;

import java.util.ArrayList;
import java.util.List;

import negocio.UsuarioLocal;



import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;

public class UsuarioLocalDS {
	private SQLiteDatabase db;
	private String[] columns = {"_id","nick","password"};
	private Helper helper;
	
	public UsuarioLocalDS(Context context)
	{
		helper = new Helper(context);
	}

	public void open() throws SQLException
	{
		db = helper.getWritableDatabase();
	}
	
	public void close()
	{
		db.close();
	}

	public UsuarioLocal getUsuarioLocal()
	{
		List<UsuarioLocal> usuarios = new ArrayList<UsuarioLocal>();
		
		Cursor cursor = db.query("Usuario_Local", columns, null, null, null, null, null);
		
		cursor.moveToFirst();
		while(!cursor.isAfterLast())
		{
			usuarios.add(cursorToUsuarioLocal(cursor));
			cursor.moveToNext();
		}
		
		cursor.close();
		
		if (!usuarios.isEmpty()){
			return usuarios.get(0);
		}else{
			return null;
		}
	}
	
	public UsuarioLocal getUsuarioLocal(String nick)
	{
		List<UsuarioLocal> usuarios = new ArrayList<UsuarioLocal>();
		
		Cursor cursor = db.query("Usuario_Local", columns, "nick='" + nick + "'", null, null, null, null);
		
		cursor.moveToFirst();
		while(!cursor.isAfterLast())
		{
			usuarios.add(cursorToUsuarioLocal(cursor));
			cursor.moveToNext();
		}
		
		cursor.close();
		
		if (!usuarios.isEmpty()){
			return usuarios.get(0);
		}else{
			return null;
		}
	}
	
	private UsuarioLocal cursorToUsuarioLocal(Cursor cursor)
	{
		UsuarioLocal usr = new UsuarioLocal();
		
		usr.setId(cursor.getLong(0));
		usr.setNick(cursor.getString(1));
		usr.setSenha(cursor.getString(2));
		
		return usr;
	}

	
	
}
